#1357QRS1(l). It has purely coclosed G2-structure

#The value of the parameter is l != 0


D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,g1,g2,g3,g4,g5,g6,h1,h2,h3,h4,h5,h6,l> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=-e1*e3*e5+2*e1*e4*e5+l*e1*e4*e6+e2*e3*e5+l*e2*e3*e6+e2*e4*e5-l*e2*e4*e6
psif=-f1*f3*f5+2*f1*f4*f5+l*f1*f4*f6+f2*f3*f5+l*f2*f3*f6+f2*f4*f5-l*f2*f4*f6
psig=-g1*g3*g5+2*g1*g4*g5+l*g1*g4*g6+g2*g3*g5+l*g2*g3*g6+g2*g4*g5-l*g2*g4*g6
psih=-h1*h3*h5+2*h1*h4*h5+l*h1*h4*h6+h2*h3*h5+l*h2*h3*h6+h2*h4*h5-l*h2*h4*h6
Cgfe=g1*f2*f3*e4*e5*e6+g1*f2*e3*f4*e5*e6+g1*f2*e3*e4*f5*e6+g1*f2*e3*e4*e5*f6+g1*e2*f3*f4*e5*e6+g1*e2*f3*e4*f5*e6+g1*e2*f3*e4*e5*f6+g1*e2*e3*f4*f5*e6+g1*e2*e3*f4*e5*f6+g1*e2*e3*e4*f5*f6+f1*g2*f3*e4*e5*e6+f1*g2*e3*f4*e5*e6+f1*g2*e3*e4*f5*e6+f1*g2*e3*e4*e5*f6+e1*g2*f3*f4*e5*e6+e1*g2*f3*e4*f5*e6+e1*g2*f3*e4*e5*f6+e1*g2*e3*f4*f5*e6+e1*g2*e3*f4*e5*f6+e1*g2*e3*e4*f5*f6+f1*f2*g3*e4*e5*e6+f1*e2*g3*f4*e5*e6+f1*e2*g3*e4*f5*e6+f1*e2*g3*e4*e5*f6+e1*f2*g3*f4*e5*e6+e1*f2*g3*e4*f5*e6+e1*f2*g3*e4*e5*f6+e1*e2*g3*f4*f5*e6+e1*e2*g3*f4*e5*f6+e1*e2*g3*e4*f5*f6+f1*f2*e3*g4*e5*e6+f1*e2*f3*g4*e5*e6+f1*e2*e3*g4*f5*e6+f1*e2*e3*g4*e5*f6+e1*f2*f3*g4*e5*e6+e1*f2*e3*g4*f5*e6+e1*f2*e3*g4*e5*f6+e1*e2*f3*g4*f5*e6+e1*e2*f3*g4*e5*f6+e1*e2*e3*g4*f5*f6+f1*f2*e3*e4*g5*e6+f1*e2*f3*e4*g5*e6+f1*e2*e3*f4*g5*e6+f1*e2*e3*e4*g5*f6+e1*f2*f3*e4*g5*e6+e1*f2*e3*f4*g5*e6+e1*f2*e3*e4*g5*f6+e1*e2*f3*f4*g5*e6+e1*e2*f3*e4*g5*f6+e1*e2*e3*f4*g5*f6+f1*f2*e3*e4*e5*g6+f1*e2*f3*e4*e5*g6+f1*e2*e3*f4*e5*g6+f1*e2*e3*e4*f5*g6+e1*f2*f3*e4*e5*g6+e1*f2*e3*f4*e5*g6+e1*f2*e3*e4*f5*g6+e1*e2*f3*f4*e5*g6+e1*e2*f3*e4*f5*g6+e1*e2*e3*f4*f5*g6
Cfgh=f1*g2*g3*h4*h5*h6+f1*g2*h3*g4*h5*h6+f1*g2*h3*h4*g5*h6+f1*g2*h3*h4*h5*g6+f1*h2*g3*g4*h5*h6+f1*h2*g3*h4*g5*h6+f1*h2*g3*h4*h5*g6+f1*h2*h3*g4*g5*h6+f1*h2*h3*g4*h5*g6+f1*h2*h3*h4*g5*g6+g1*f2*g3*h4*h5*h6+g1*f2*h3*g4*h5*h6+g1*f2*h3*h4*g5*h6+g1*f2*h3*h4*h5*g6+h1*f2*g3*g4*h5*h6+h1*f2*g3*h4*g5*h6+h1*f2*g3*h4*h5*g6+h1*f2*h3*g4*g5*h6+h1*f2*h3*g4*h5*g6+h1*f2*h3*h4*g5*g6+g1*g2*f3*h4*h5*h6+g1*h2*f3*g4*h5*h6+g1*h2*f3*h4*g5*h6+g1*h2*f3*h4*h5*g6+h1*g2*f3*g4*h5*h6+h1*g2*f3*h4*g5*h6+h1*g2*f3*h4*h5*g6+h1*h2*f3*g4*g5*h6+h1*h2*f3*g4*h5*g6+h1*h2*f3*h4*g5*g6+g1*g2*h3*f4*h5*h6+g1*h2*g3*f4*h5*h6+g1*h2*h3*f4*g5*h6+g1*h2*h3*f4*h5*g6+h1*g2*g3*f4*h5*h6+h1*g2*h3*f4*g5*h6+h1*g2*h3*f4*h5*g6+h1*h2*g3*f4*g5*h6+h1*h2*g3*f4*h5*g6+h1*h2*h3*f4*g5*g6+g1*g2*h3*h4*f5*h6+g1*h2*g3*h4*f5*h6+g1*h2*h3*g4*f5*h6+g1*h2*h3*h4*f5*g6+h1*g2*g3*h4*f5*h6+h1*g2*h3*g4*f5*h6+h1*g2*h3*h4*f5*g6+h1*h2*g3*g4*f5*h6+h1*h2*g3*h4*f5*g6+h1*h2*h3*g4*f5*g6+g1*g2*h3*h4*h5*f6+g1*h2*g3*h4*h5*f6+g1*h2*h3*g4*h5*f6+g1*h2*h3*h4*g5*f6+h1*g2*g3*h4*h5*f6+h1*g2*h3*g4*h5*f6+h1*g2*h3*h4*g5*f6+h1*h2*g3*g4*h5*f6+h1*h2*g3*h4*g5*f6+h1*h2*h3*g4*g5*f6
(-1/6)*psie*Cgfe*psif*psih*Cfgh*psig


D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,g1,g2,g3,g4,g5,g6,h1,h2,h3,h4,h5,h6,x1,x2,x3,x4,x5,x6,y1,y2,y3,y4,y5,y6,z1,z2,z3,z4,z5,z6,l> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,1,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=-e1*e3*e5+2*e1*e4*e5+l*e1*e4*e6+e2*e3*e5+l*e2*e3*e6+e2*e4*e5-l*e2*e4*e6
psif=-f1*f3*f5+2*f1*f4*f5+l*f1*f4*f6+f2*f3*f5+l*f2*f3*f6+f2*f4*f5-l*f2*f4*f6
psig=-g1*g3*g5+2*g1*g4*g5+l*g1*g4*g6+g2*g3*g5+l*g2*g3*g6+g2*g4*g5-l*g2*g4*g6
psix=-x1*x3*x5+2*x1*x4*x5+l*x1*x4*x6+x2*x3*x5+l*x2*x3*x6+x2*x4*x5-l*x2*x4*x6
psiy=-y1*y3*y5+2*y1*y4*y5+l*y1*y4*y6+y2*y3*y5+l*y2*y3*y6+y2*y4*y5-l*y2*y4*y6
psiz=-z1*z3*z5+2*z1*z4*z5+l*z1*z4*z6+z2*z3*z5+l*z2*z3*z6+z2*z4*z5-l*z2*z4*z6
psixyz=-x1*y3*z5+2*x1*y4*z5+l*x1*y4*z6+x2*y3*z5+l*x2*y3*z6+x2*y4*z5-l*x2*y4*z6
Chxe=h1*x2*x3*e4*e5*e6+h1*x2*e3*x4*e5*e6+h1*x2*e3*e4*x5*e6+h1*x2*e3*e4*e5*x6+h1*e2*x3*x4*e5*e6+h1*e2*x3*e4*x5*e6+h1*e2*x3*e4*e5*x6+h1*e2*e3*x4*x5*e6+h1*e2*e3*x4*e5*x6+h1*e2*e3*e4*x5*x6+x1*h2*x3*e4*e5*e6+x1*h2*e3*x4*e5*e6+x1*h2*e3*e4*x5*e6+x1*h2*e3*e4*e5*x6+e1*h2*x3*x4*e5*e6+e1*h2*x3*e4*x5*e6+e1*h2*x3*e4*e5*x6+e1*h2*e3*x4*x5*e6+e1*h2*e3*x4*e5*x6+e1*h2*e3*e4*x5*x6+x1*x2*h3*e4*e5*e6+x1*e2*h3*x4*e5*e6+x1*e2*h3*e4*x5*e6+x1*e2*h3*e4*e5*x6+e1*x2*h3*x4*e5*e6+e1*x2*h3*e4*x5*e6+e1*x2*h3*e4*e5*x6+e1*e2*h3*x4*x5*e6+e1*e2*h3*x4*e5*x6+e1*e2*h3*e4*x5*x6+x1*x2*e3*h4*e5*e6+x1*e2*x3*h4*e5*e6+x1*e2*e3*h4*x5*e6+x1*e2*e3*h4*e5*x6+e1*x2*x3*h4*e5*e6+e1*x2*e3*h4*x5*e6+e1*x2*e3*h4*e5*x6+e1*e2*x3*h4*x5*e6+e1*e2*x3*h4*e5*x6+e1*e2*e3*h4*x5*x6+x1*x2*e3*e4*h5*e6+x1*e2*x3*e4*h5*e6+x1*e2*e3*x4*h5*e6+x1*e2*e3*e4*h5*x6+e1*x2*x3*e4*h5*e6+e1*x2*e3*x4*h5*e6+e1*x2*e3*e4*h5*x6+e1*e2*x3*x4*h5*e6+e1*e2*x3*e4*h5*x6+e1*e2*e3*x4*h5*x6+x1*x2*e3*e4*e5*h6+x1*e2*x3*e4*e5*h6+x1*e2*e3*x4*e5*h6+x1*e2*e3*e4*x5*h6+e1*x2*x3*e4*e5*h6+e1*x2*e3*x4*e5*h6+e1*x2*e3*e4*x5*h6+e1*e2*x3*x4*e5*h6+e1*e2*x3*e4*x5*h6+e1*e2*e3*x4*x5*h6
Chyf=h1*y2*y3*f4*f5*f6+h1*y2*f3*y4*f5*f6+h1*y2*f3*f4*y5*f6+h1*y2*f3*f4*f5*y6+h1*f2*y3*y4*f5*f6+h1*f2*y3*f4*y5*f6+h1*f2*y3*f4*f5*y6+h1*f2*f3*y4*y5*f6+h1*f2*f3*y4*f5*y6+h1*f2*f3*f4*y5*y6+y1*h2*y3*f4*f5*f6+y1*h2*f3*y4*f5*f6+y1*h2*f3*f4*y5*f6+y1*h2*f3*f4*f5*y6+f1*h2*y3*y4*f5*f6+f1*h2*y3*f4*y5*f6+f1*h2*y3*f4*f5*y6+f1*h2*f3*y4*y5*f6+f1*h2*f3*y4*f5*y6+f1*h2*f3*f4*y5*y6+y1*y2*h3*f4*f5*f6+y1*f2*h3*y4*f5*f6+y1*f2*h3*f4*y5*f6+y1*f2*h3*f4*f5*y6+f1*y2*h3*y4*f5*f6+f1*y2*h3*f4*y5*f6+f1*y2*h3*f4*f5*y6+f1*f2*h3*y4*y5*f6+f1*f2*h3*y4*f5*y6+f1*f2*h3*f4*y5*y6+y1*y2*f3*h4*f5*f6+y1*f2*y3*h4*f5*f6+y1*f2*f3*h4*y5*f6+y1*f2*f3*h4*f5*y6+f1*y2*y3*h4*f5*f6+f1*y2*f3*h4*y5*f6+f1*y2*f3*h4*f5*y6+f1*f2*y3*h4*y5*f6+f1*f2*y3*h4*f5*y6+f1*f2*f3*h4*y5*y6+y1*y2*f3*f4*h5*f6+y1*f2*y3*f4*h5*f6+y1*f2*f3*y4*h5*f6+y1*f2*f3*f4*h5*y6+f1*y2*y3*f4*h5*f6+f1*y2*f3*y4*h5*f6+f1*y2*f3*f4*h5*y6+f1*f2*y3*y4*h5*f6+f1*f2*y3*f4*h5*y6+f1*f2*f3*y4*h5*y6+y1*y2*f3*f4*f5*h6+y1*f2*y3*f4*f5*h6+y1*f2*f3*y4*f5*h6+y1*f2*f3*f4*y5*h6+f1*y2*y3*f4*f5*h6+f1*y2*f3*y4*f5*h6+f1*y2*f3*f4*y5*h6+f1*f2*y3*y4*f5*h6+f1*f2*y3*f4*y5*h6+f1*f2*f3*y4*y5*h6
Chzg=h1*z2*z3*g4*g5*g6+h1*z2*g3*z4*g5*g6+h1*z2*g3*g4*z5*g6+h1*z2*g3*g4*g5*z6+h1*g2*z3*z4*g5*g6+h1*g2*z3*g4*z5*g6+h1*g2*z3*g4*g5*z6+h1*g2*g3*z4*z5*g6+h1*g2*g3*z4*g5*z6+h1*g2*g3*g4*z5*z6+z1*h2*z3*g4*g5*g6+z1*h2*g3*z4*g5*g6+z1*h2*g3*g4*z5*g6+z1*h2*g3*g4*g5*z6+g1*h2*z3*z4*g5*g6+g1*h2*z3*g4*z5*g6+g1*h2*z3*g4*g5*z6+g1*h2*g3*z4*z5*g6+g1*h2*g3*z4*g5*z6+g1*h2*g3*g4*z5*z6+z1*z2*h3*g4*g5*g6+z1*g2*h3*z4*g5*g6+z1*g2*h3*g4*z5*g6+z1*g2*h3*g4*g5*z6+g1*z2*h3*z4*g5*g6+g1*z2*h3*g4*z5*g6+g1*z2*h3*g4*g5*z6+g1*g2*h3*z4*z5*g6+g1*g2*h3*z4*g5*z6+g1*g2*h3*g4*z5*z6+z1*z2*g3*h4*g5*g6+z1*g2*z3*h4*g5*g6+z1*g2*g3*h4*z5*g6+z1*g2*g3*h4*g5*z6+g1*z2*z3*h4*g5*g6+g1*z2*g3*h4*z5*g6+g1*z2*g3*h4*g5*z6+g1*g2*z3*h4*z5*g6+g1*g2*z3*h4*g5*z6+g1*g2*g3*h4*z5*z6+z1*z2*g3*g4*h5*g6+z1*g2*z3*g4*h5*g6+z1*g2*g3*z4*h5*g6+z1*g2*g3*g4*h5*z6+g1*z2*z3*g4*h5*g6+g1*z2*g3*z4*h5*g6+g1*z2*g3*g4*h5*z6+g1*g2*z3*z4*h5*g6+g1*g2*z3*g4*h5*z6+g1*g2*g3*z4*h5*z6+z1*z2*g3*g4*g5*h6+z1*g2*z3*g4*g5*h6+z1*g2*g3*z4*g5*h6+z1*g2*g3*g4*z5*h6+g1*z2*z3*g4*g5*h6+g1*z2*g3*z4*g5*h6+g1*z2*g3*g4*z5*h6+g1*g2*z3*z4*g5*h6+g1*g2*z3*g4*z5*h6+g1*g2*g3*z4*z5*h6
psie*Chxe*psix*psif*Chyf*psiy*psig*Chzg*psiz*psixyz


#psiplus=c*(-1/2*l*x1*x3*x5 - 1/2*l^2*x1*x3*x6 - 1/2*l*x1*x4*x5 + 1/2*l^2*x1*x4*x6 - l*x2*x3*x5 + 2*l*x2*x4*x5 + l^2*x2*x4*x6)


# Subcase l > 0 

D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,x1,x2,x3,x4,x5,x6,l> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=-e1*e3*e5+2*e1*e4*e5+l*e1*e4*e6+e2*e3*e5+l*e2*e3*e6+e2*e4*e5-l*e2*e4*e6
psif=-f1*f3*f5+2*f1*f4*f5+l*f1*f4*f6+f2*f3*f5+l*f2*f3*f6+f2*f4*f5-l*f2*f4*f6
omegaxf=(x1*f2+l*x3*f4+l*x5*f6)-(f1*x2+l*f3*x4+l*f5*x6)
Cxfe=x1*f2*f3*e4*e5*e6+x1*f2*e3*f4*e5*e6+x1*f2*e3*e4*f5*e6+x1*f2*e3*e4*e5*f6+x1*e2*f3*f4*e5*e6+x1*e2*f3*e4*f5*e6+x1*e2*f3*e4*e5*f6+x1*e2*e3*f4*f5*e6+x1*e2*e3*f4*e5*f6+x1*e2*e3*e4*f5*f6-x2*f1*f3*e4*e5*e6-x2*f1*e3*f4*e5*e6-x2*f1*e3*e4*f5*e6-x2*f1*e3*e4*e5*f6-x2*e1*f3*f4*e5*e6-x2*e1*f3*e4*f5*e6-x2*e1*f3*e4*e5*f6-x2*e1*e3*f4*f5*e6-x2*e1*e3*f4*e5*f6-x2*e1*e3*e4*f5*f6+x3*f1*f2*e4*e5*e6+x3*f1*e2*f4*e5*e6+x3*f1*e2*e4*f5*e6+x3*f1*e2*e4*e5*f6+x3*e1*f2*f4*e5*e6+x3*e1*f2*e4*f5*e6+x3*e1*f2*e4*e5*f6+x3*e1*e2*f4*f5*e6+x3*e1*e2*f4*e5*f6+x3*e1*e2*e4*f5*f6-x4*f1*f2*e3*e5*e6-x4*f1*e2*f3*e5*e6-x4*f1*e2*e3*f5*e6-x4*f1*e2*e3*e5*f6-x4*e1*f2*f3*e5*e6-x4*e1*f2*e3*f5*e6-x4*e1*f2*e3*e5*f6-x4*e1*e2*f3*f5*e6-x4*e1*e2*f3*e5*f6-x4*e1*e2*e3*f5*f6+x5*f1*f2*e3*e4*e6+x5*f1*e2*f3*e4*e6+x5*f1*e2*e3*f4*e6+x5*f1*e2*e3*e4*f6+x5*e1*f2*f3*e4*e6+x5*e1*f2*e3*f4*e6+x5*e1*f2*e3*e4*f6+x5*e1*e2*f3*f4*e6+x5*e1*e2*f3*e4*f6+x5*e1*e2*e3*f4*f6-x6*f1*f2*e3*e4*e5-x6*f1*e2*f3*e4*e5-x6*f1*e2*e3*f4*e5-x6*f1*e2*e3*e4*f5-x6*e1*f2*f3*e4*e5-x6*e1*f2*e3*f4*e5-x6*e1*f2*e3*e4*f5-x6*e1*e2*f3*f4*e5-x6*e1*e2*f3*e4*f5-x6*e1*e2*e3*f4*f5
1/2*psie*Cxfe*psif*omegaxf

# l*x1^2 + 2*l*x2^2 + l^2*x3^2 - 2*l^2*x3*x4 + 3*l^2*x4^2 + 3*l*x5^2 + 2*l^2*x5*x6 + l^3*x6^2
# [l,0,0,0,0,0],[0,2*l,0,0,0,0],[0,0,l^2,-l^2,0,0],[0,0,-l^2,3*l^2,0,0],[0,0,0,0,3*l,l^2],[0,0,0,0,l^2,l^3]
# The metric is positive definite


E = ExteriorAlgebra(SR,'x',8)
l=var('l')
str_eq={(1,2):E.gens()[3],(1,3):E.gens()[5],(2,4):E.gens()[5],(1,4):E.gens()[6],(2,3):-E.gens()[6],(1,5):E.gens()[7],(2,6):l*E.gens()[7],(3,4):(1-l)*E.gens()[7]}
d=E.coboundary(str_eq); d
print([d(b) for b in E.gens( )])
omega= E.gens()[1]*E.gens()[2] + l*E.gens()[3]*E.gens()[4] +l* E.gens()[5]*E.gens()[6]
psi=-E.gens()[1]*E.gens()[3]*E.gens()[5]+2*E.gens()[1]*E.gens()[4]*E.gens()[5] +l*E.gens()[1]*E.gens()[4]*E.gens()[6] +E.gens()[2]*E.gens()[3]*E.gens()[5] +l* E.gens()[2]*E.gens()[3]*E.gens()[6] + E.gens()[2]*E.gens()[4]*E.gens()[5]-l* E.gens()[2]*E.gens()[4]*E.gens()[6]
psiplus= -1/2*l*(E.gens()[1]*E.gens()[3]*E.gens()[6]*l-E.gens()[1]*E.gens()[4]*E.gens()[6]*l-2*E.gens()[2]*E.gens()[4]*E.gens()[6]*l+E.gens()[1]*E.gens()[3]*E.gens()[5]+2*E.gens()[2]*E.gens()[3]*E.gens()[5]+E.gens()[1]*E.gens()[4]*E.gens()[5]-4*E.gens()[2]*E.gens()[4]*E.gens()[5])
eta= l*E.gens()[7]+(3*l+1)/2*E.gens()[3]
omega #x1*x2 + l*x3*x4 + l*x5*x6
psi #-x1*x3*x5 + 2*x1*x4*x5 + l*x1*x4*x6 + x2*x3*x5 + l*x2*x3*x6 + x2*x4*x5 - l*x2*x4*x6
psiplus #-1/2*l*x1*x3*x5 - 1/2*l^2*x1*x3*x6 - 1/2*l*x1*x4*x5 + 1/2*l^2*x1*x4*x6 - l*x2*x3*x5 + 2*l*x2*x4*x5 + l^2*x2*x4*x6
eta #(3/2*l + 1/2)*x3 + l*x7
omega*psi
psi*psiplus-(2/3)*omega^3
d(psi)
omega*d(omega)-psi*d(eta)
omega^2*d(eta)+2*psiplus*d(omega)



# Subcase l < 0 

D.<e1,e2,e3,e4,e5,e6,f1,f2,f3,f4,f5,f6,x1,x2,x3,x4,x5,x6,l> = GradedCommutativeAlgebra(QQ,degrees=(1,1,1,1,1,1,1,1,1,1,1,1,2,2,2,2,2,2,2))
N=D.cdg_algebra({})
N.inject_variables()
psie=-e1*e3*e5+2*e1*e4*e5+l*e1*e4*e6+e2*e3*e5+l*e2*e3*e6+e2*e4*e5-l*e2*e4*e6
psif=-f1*f3*f5+2*f1*f4*f5+l*f1*f4*f6+f2*f3*f5+l*f2*f3*f6+f2*f4*f5-l*f2*f4*f6
omegaxf=(-x1*f2+l*x3*f4-l*x5*f6)-(-f1*x2+l*f3*x4-l*f5*x6)
Cxfe=x1*f2*f3*e4*e5*e6+x1*f2*e3*f4*e5*e6+x1*f2*e3*e4*f5*e6+x1*f2*e3*e4*e5*f6+x1*e2*f3*f4*e5*e6+x1*e2*f3*e4*f5*e6+x1*e2*f3*e4*e5*f6+x1*e2*e3*f4*f5*e6+x1*e2*e3*f4*e5*f6+x1*e2*e3*e4*f5*f6-x2*f1*f3*e4*e5*e6-x2*f1*e3*f4*e5*e6-x2*f1*e3*e4*f5*e6-x2*f1*e3*e4*e5*f6-x2*e1*f3*f4*e5*e6-x2*e1*f3*e4*f5*e6-x2*e1*f3*e4*e5*f6-x2*e1*e3*f4*f5*e6-x2*e1*e3*f4*e5*f6-x2*e1*e3*e4*f5*f6+x3*f1*f2*e4*e5*e6+x3*f1*e2*f4*e5*e6+x3*f1*e2*e4*f5*e6+x3*f1*e2*e4*e5*f6+x3*e1*f2*f4*e5*e6+x3*e1*f2*e4*f5*e6+x3*e1*f2*e4*e5*f6+x3*e1*e2*f4*f5*e6+x3*e1*e2*f4*e5*f6+x3*e1*e2*e4*f5*f6-x4*f1*f2*e3*e5*e6-x4*f1*e2*f3*e5*e6-x4*f1*e2*e3*f5*e6-x4*f1*e2*e3*e5*f6-x4*e1*f2*f3*e5*e6-x4*e1*f2*e3*f5*e6-x4*e1*f2*e3*e5*f6-x4*e1*e2*f3*f5*e6-x4*e1*e2*f3*e5*f6-x4*e1*e2*e3*f5*f6+x5*f1*f2*e3*e4*e6+x5*f1*e2*f3*e4*e6+x5*f1*e2*e3*f4*e6+x5*f1*e2*e3*e4*f6+x5*e1*f2*f3*e4*e6+x5*e1*f2*e3*f4*e6+x5*e1*f2*e3*e4*f6+x5*e1*e2*f3*f4*e6+x5*e1*e2*f3*e4*f6+x5*e1*e2*e3*f4*f6-x6*f1*f2*e3*e4*e5-x6*f1*e2*f3*e4*e5-x6*f1*e2*e3*f4*e5-x6*f1*e2*e3*e4*f5-x6*e1*f2*f3*e4*e5-x6*e1*f2*e3*f4*e5-x6*e1*f2*e3*e4*f5-x6*e1*e2*f3*f4*e5-x6*e1*e2*f3*e4*f5-x6*e1*e2*e3*f4*f5
1/2*psie*Cxfe*psif*omegaxf

# - l*x1^2 - 2*l*x2^2 + l^2*x3^2 - 2*l^2*x3*x4 + 3*l^2*x4^2 - 3*l*x5^2 - 2*l^2*x5*x6 - l^3*x6^2
# [-l,0,0,0,0,0],[0,-2*l,0,0,0,0],[0,0,l^2,-l^2,0,0],[0,0,-l^2,3*l^2,0,0],[0,0,0,0,-3*l,-l^2],[0,0,0,0,-l^2,-l^3]
# The metric is positive definite


E = ExteriorAlgebra(SR,'x',8)
l=var('l')
str_eq={(1,2):E.gens()[3],(1,3):E.gens()[5],(2,4):E.gens()[5],(1,4):E.gens()[6],(2,3):-E.gens()[6],(1,5):E.gens()[7],(2,6):l*E.gens()[7],(3,4):(1-l)*E.gens()[7]}
d=E.coboundary(str_eq); d
print([d(b) for b in E.gens( )])
omega= -(E.gens()[1]*E.gens()[2] - l*E.gens()[3]*E.gens()[4] + l* E.gens()[5]*E.gens()[6])
psi=-E.gens()[1]*E.gens()[3]*E.gens()[5]+2*E.gens()[1]*E.gens()[4]*E.gens()[5] +l*E.gens()[1]*E.gens()[4]*E.gens()[6] +E.gens()[2]*E.gens()[3]*E.gens()[5] +l* E.gens()[2]*E.gens()[3]*E.gens()[6] + E.gens()[2]*E.gens()[4]*E.gens()[5]-l* E.gens()[2]*E.gens()[4]*E.gens()[6]
psiplus=-1/2*l*(E.gens()[1]*E.gens()[3]*E.gens()[6]*l-E.gens()[1]*E.gens()[4]*E.gens()[6]*l-2*E.gens()[2]*E.gens()[4]*E.gens()[6]*l+E.gens()[1]*E.gens()[3]*E.gens()[5]+2*E.gens()[2]*E.gens()[3]*E.gens()[5]+E.gens()[1]*E.gens()[4]*E.gens()[5]-4*E.gens()[2]*E.gens()[4]*E.gens()[5])
eta= -l*E.gens()[7]+1/2*(3*l+1)*E.gens()[3]
omega #-x1*x2 + l*x3*x4 - l*x5*x6
psi #-x1*x3*x5 + 2*x1*x4*x5 + l*x1*x4*x6 + x2*x3*x5 + l*x2*x3*x6 + x2*x4*x5 - l*x2*x4*x6
psiplus #-1/2*l*x1*x3*x5 - 1/2*l^2*x1*x3*x6 - 1/2*l*x1*x4*x5 + 1/2*l^2*x1*x4*x6 - l*x2*x3*x5 + 2*l*x2*x4*x5 + l^2*x2*x4*x6
eta #(3/2*l + 1/2)*x3 - l*x7
omega*psi
psi*psiplus-(2/3)*omega^3
d(psi)
omega*d(omega)-psi*d(eta)
omega^2*d(eta)+2*psiplus*d(omega)